package com.fruit.mapper.lightpay;


import com.fruit.pojo.lightpay.LightPayCashier;
import com.fruit.pojo.lightpay.LightPayCashierAlipay;
import com.fruit.pojo.lightpay.LightPayCashierWechat;
import com.fruit.pojo.lightpay.LightPayException;

/**
 * 
 * LightPayMapper
 *
 * @author shibeilei
 * @version 2017.12.06 17:28
 *
 */
public interface LightPayMapper {
	/**
	 * 通过CODE获取收银记录
	 * @param code 收银编号
	 * @return 返回收银记录
	 */
	LightPayCashier getLightpayCashierByCode(String code);
	
	/**
	 * 通过ID获取收银记录
	 * @param id 收银ID
	 * @return 返回收银记录
	 */
	LightPayCashier getLightpayCashierById(long id);
	
	/**
	 * 通过tCode获取收银记录
	 * @param tCode 交易流水编号
	 * @return 返回收银记录
	 */
	LightPayCashier getLightpayCashierByTCode(String tCode);
	
	/**
	 * 保存收银记录
	 * @param lpc 收银信息
	 * @return 返回保存结果
	 */
	int saveLightpayCashier(LightPayCashier lpc);
	
	/**
	 * 通过CODE修改收银记录
	 * @param lpc 收银信息
	 * @return 返回修改结果
	 */
	int updateLightpayCashierCode(LightPayCashier lpc);
	
	/**
	 * 保存支付宝收银记录
	 * @param lpca 支付宝支付信息
	 * @return 返回保存结果
	 */
	int saveLightpayCashierAlipay(LightPayCashierAlipay lpca);
	
	/**
	 * 保存微信收银记录
	 * @param lpcw 微信支付信息
	 * @return 返回保存结果
	 */
	int saveLightpayCashierWechat(LightPayCashierWechat lpcw);
	
	/**
	 * 保存支付宝收银记录-回调后
	 * @param lpca 支付宝支付信息
	 * @return 保存结果
	 */
	int saveLightpayCashierAlipayNotify(LightPayCashierAlipay lpca);
	
	/**
	 * 保存微信收银记录-回调后
	 * @param lpcw 微信支付信息
	 * @return 保存结果
	 */
	int saveLightpayCashierWechatNotify(LightPayCashierWechat lpcw);
	
	/**
	 * 获取支付宝收银记录
	 * @param cashierId 收银ID
	 * @return 返回支付宝支付信息
	 */
	LightPayCashierAlipay getLightpayCashierAlipay(long cashierId);
	
	/**
	 * 获取微信收银记录
	 * @param cashierId 收银ID
	 * @return 返回微信支付信息
	 */
	LightPayCashierWechat getLightpayCashierWechat(long cashierId);
	
	/**
	 * 修改收银状态
	 * @param lpc 收银信息
	 * @return 返回收银状态修改结果
	 */
	int updateLightpayStateById(LightPayCashier lpc);
	
	/**
	 * 修改业务处理结果
	 * @param lpc 收银信息
	 * @return 返回收银业务处理状态
	 */
	int updateLightpayRhState(LightPayCashier lpc);
	
	/**
	 * 修改支付宝收银信息
	 * @param lpca 支付宝支付信息
	 * @return 返回支付宝信息修改结果
	 */
	int updateLightpayAlipay(LightPayCashierAlipay lpca);
	
	/**
	 * 修改微信收银信息
	 * @param lpcw 微信支付信息
	 * @return 返回微信支付信息修改结果
	 */
	int updateLightpayCashierWechat(LightPayCashierWechat lpcw);
	
	/**
	 * 插入收银错误日志记录
	 * @param lpe 错误日志信息
	 * @return 返回保存结果
	 */
	int saveExceptionLightPay(LightPayException lpe);
}
